package com.yuzhi.master.sewage.rmstSz.entity.vo;

import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.yuzhi.common.annotation.DictFormat;
import com.yuzhi.common.annotation.LocalDateTimeFormat;
import com.yuzhi.master.sewage.rmstSz.entity.request.LocalDateTimeSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
@Schema(description = "污水厂当日水质最大值信息")
public class DrainRmstSzVo {

    @Schema(description = "污水厂代码")
    private String factId;

    @Schema(description = "BOD进水最大值")
    private Double maxBodJs;

    @JsonSerialize(using = LocalDateTimeSerializer.class)
    @Schema(description = "BOD进水最大值采集时间")
    private LocalDateTime maxBodJsTime;

    @Schema(description = "BOD出水最大值")
    private Double maxBodCs;

    @JsonSerialize(using = LocalDateTimeSerializer.class)
    @Schema(description = "BOD出水最大值采集时间")
    private LocalDateTime maxBodCsTime;

    @Schema(description = "COD进水最大值")
    private Integer maxCodJs;

    @JsonSerialize(using = LocalDateTimeSerializer.class)
    @Schema(description = "COD进水最大值采集时间")
    private LocalDateTime maxCodJsTime;

    @Schema(description = "COD出水最大值")
    private Double maxCodCs;

    @JsonSerialize(using = LocalDateTimeSerializer.class)
    @Schema(description = "COD出水最大值采集时间")
    private LocalDateTime maxCodCsTime;

    private String id;

    /**
     * 测站编码
     */
    @Schema(description = "测站编码")
    private String irrdRRmstCode;

    /**
     * 测站名称
     */
    @ExcelProperty(value = "厂区名称")
    @Schema(description = "测站名称")
    private String irrdRRmstName;

    /**
     * 测站简称
     */
    @Schema(description = "测站简称")
    private String shortName;

    /**
     * 外键类型，关联fact_id字段（1:污水厂，2：泵站，3：管网，4：站点,5:水质,6:流量）
     */
    @Schema(description = "外键类型，关联fact_id字段（1:污水厂，2：泵站，3：管网，4：站点,5:水质,6:流量）")
    private Integer factype;

    /**
     * 采集时间
     */
    @Schema(description = "采集时间")
    private String cjTimeStr;

    /**
     * 采集时间
     */
    @ExcelProperty(value = "最后更新")
    @LocalDateTimeFormat("yyyy-MM-dd HH:mm")
    @Schema(description = "采集时间")
    private LocalDateTime cjTime;

    /**
     * 前池液位
     */
    @Schema(description = "液位")
    private String qcYw;

    //后池液位/泵房液位
    private String hcYw;

    /**
     * 进水瞬时流速/如果是管井的流速，存这个字段
     */
    @Schema(description = "流速")
    private String jsShsLs;

    /**
     * 进水瞬时流量
     */
    @Schema(description = "流量")
    private String flowInJs;

    /**
     * cod进水值
     */
    @ExcelProperty(value = "cod进水(mg/l)")
    @Schema(description = "COD")
    private Double codJs;

    /**
     * 氨氮进水值
     */
    @ExcelProperty(value = "氨氮进水(mg/l)")
    @Schema(description = "氨氮")
    private Double adJs;

    /**
     * 水温
     */
    @Schema(description = "温度")
    private Double jsSw;

    /**
     * 进水流量
     */
    @ExcelProperty(value = "进水流量(m³/h)")
    private BigDecimal jsLg;

    /**
     * 出水流量
     */
    @ExcelProperty(value = "出水流量(m³/h)")
    private BigDecimal csLg;

    /**
     * cod出水值
     */
    @ExcelProperty(value = "cod出水(mg/l)")
    private BigDecimal codCs;

    /**
     * 氨氮出水值
     */
    @ExcelProperty(value = "氨氮出水(mg/l)")
    private BigDecimal adCs;


    /**
     * 出水PH值
     */
    private BigDecimal phCs;

    /**
     * 充满度
     */
    private BigDecimal fullLevel;

    /**
     * 是否达标
     */
    @ExcelProperty(value = "水质达标")
    @DictFormat(defaultValue = "is_meet")
    private String isMeet;

    /**
     * 超标描述
     */
    @ExcelProperty(value = "超标信息")
    private String overStandard;

    /**
     * 小时雨量
     */
    private BigDecimal  drp;

    /**
     * 电量
     */
    private BigDecimal batPow;

    /**
     * 污水处理厂设计规模 （万立方米/日）
     */
    private Double factCapDsn;



}
